package gui;

import java.awt.Component;
import java.util.HashMap;
import java.util.Map;

import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

import queenProblem.Resources;

/**
 * Erzeugt einen passenden Renderer, der bei Aufruf die entsprechenden Bilder in
 * die Tabellenzellen einfuegt.
 * 
 */
public class Renderer implements TableCellRenderer {

	private final Map<Object, JLabel> labels;

	/**
	 * Die Bilder werden beim Aufbau in die HashMap geladen
	 */
	public Renderer() {
		labels = new HashMap<Object, JLabel>();
		labels.put("QUEEN",
				new JLabel(Resources.getIcon("/resources/queen.png"),
						JLabel.CENTER));
		labels.put("WHITE",
				new JLabel(Resources.getIcon("/resources/white.png"),
						JLabel.CENTER));
		labels.put("BLACK",
				new JLabel(Resources.getIcon("/resources/black.png"),
						JLabel.CENTER));
	}

	@Override
	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {
		return labels.get(value);
	}

}
